A Denotational Account of Untyped Normalization by Evaluation

نویسندگان

  • Andrzej Filinski
  • Henning Korsholm Rohde
چکیده

We show that the standard normalization-by-evaluation construction for the simply-typed λβη-calculus has a natural counterpart for the untyped λβ-calculus, with the central type-indexed logical relation replaced by a “recursively defined” invariant relation, in the style of Pitts. In fact, the construction can be seen as generalizing a computationaladequacy argument for an untyped, call-by-name language to normalization instead of evaluation. In the untyped setting, not all terms have normal forms, so the normalization function is necessarily partial. We establish its correctness in the senses of soundness (the output term, if any, is β-equivalent to the input term); standardization (β-equivalent terms are mapped to the same result); and completeness (the function is defined for all terms that do have normal forms). We also show how the semantic construction enables a simple yet formal correctness proof for the normalization algorithm, expressed as a functional program in an ML-like call-by-value language.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formal neighbourhoods, combinatory Böhm trees, and untyped normalization by evaluation

We prove the correctness of an algorithm for normalizing untyped combinator terms by evaluation. The algorithm is written in the functional programming language Haskell, and we prove that it lazily computes the combinatory Böhm tree of the term. The notion of combinatory Böhm tree is analogous to the usual notion of Böhm tree for the untyped lambda calculus. It is defined operationally by repea...

متن کامل

Denotational aspects of untyped normalization by evaluation

We show that the standard normalization-by-evaluation construction for the simply-typed λβη-calculus has a natural counterpart for the untyped λβ-calculus, with the central type-indexed logical relation replaced by a “recursively defined” invariant relation, in the style of Pitts. In fact, the construction can be seen as generalizing a computational-adequacy argument for an untyped, call-by-nam...

متن کامل

Lecture notes on the lambda calculus

This is a set of lecture notes that developed out of courses on the lambda calculus that I taught at the University of Ottawa in 2001 and at Dalhousie University in 2007. Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference,...

متن کامل

On the denotational semantics of the untyped lambda-mu calculus

Starting with the idea of reflexive objects in Selinger’s control categories, we define three different denotational models of Parigot’s untyped lambda-mu calculus. The first one is built from an intersection types system for the lambda-mu calculus leading to a generalization of Engeler’s model of the untyped lambda calculus. The second model introduces correlation spaces (coming from Girard’s ...

متن کامل

Operational aspects of untyped Normalisation by Evaluation

A purely syntactic and untyped variant of Normalization by Evaluation for the -calculus is presented in the framework of a two-level -calculus with rewrite rules to model the inverse of the evaluation functional. Among its operational properties gures a standardization theorem that formally establishes adequacy of implementation in functional programming languages. An example implementation in ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004